//make_data
//randomly construct a graph (20 * 40), where the boundary (x=0 or x=40 or y=0 or y=20) is a wall 
//index starts from zero
/*
For any (x,y): 
	(0,0)  (1,0)  (2,0)  ...
	(0,1)  (1,1)  (2,1)  ...
	(0,2)  (1,2)  (2,2)  ...
	... ...  
	... ...
*/
#include<windows.h>
#include<conio.h>
#include<cstring>
#include<ctime>
#include<bits/stdc++.h>

#define size1 20
#define size2 40
using namespace std;
struct dian{
	int x,y;
};
dian start,_end;
signed main(){
	freopen("data.out","w",stdout);
	srand(time(0)+clock());
    int n=20,m=40;
    start.x=rand()%(size2-4)+2;
    start.y=rand()%(size1-3)+2;
//    _end.x=rand()%35+2;
//    _end.y=rand()%16+2;
    cout<<start.x<<' '<<start.y<<'\n';
	//cout<<_end.x<<' '<<_end.y<<'\n';
    for(int i=0;i<=size1;i++){
    	for(int j=0;j<=size2;j++){
    		if(i==start.y&&j==start.x) cout<<'S';
//    		else if(i==_end.y&&j==_end.x) cout<<'E';
    		else if(i==0||i==size1||j==0||j==size2) cout<<'#';
    		else{
    			int s=rand()%30;
    			if(s<11) cout<<'#';
    			else cout<<' ';
			}
		}
		cout<<'\n';
	}
	fclose(stdout);
    return 0;
}

